package com.caiju.health.controller;


import com.caiju.health.constant.MessageConstant;
import com.caiju.health.entity.PageResult;
import com.caiju.health.entity.Result;
import com.caiju.health.pojo.CheckItem;
import com.caiju.health.service.ICheackItemService;
import com.caiju.health.vo.QueryPageBean;
import io.swagger.models.auth.In;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
@RequestMapping("/checkItem")
@CrossOrigin    //允许跨域，因为不同端口号，认为不是同一个人
public class CheckItemController {
    @Resource
    private ICheackItemService cheackItemService;

    @GetMapping("/findCheckItemByCondition")
    public PageResult findCheckItemByCondition(QueryPageBean queryPageBean){
        //从queryPageBean获取查询的条件
        //currentPage  页码
        Integer currentPage = queryPageBean.getCurrentPage();
        //pageSize 每页显示的条数
        Integer pageSize = queryPageBean.getPageSize();
        //queryString 表示查询的条件
        //根据项目的原型我们发现将来进行搜索的时候是根据项目的编码以及项目名称进行搜索
        String queryString = queryPageBean.getQueryString();
        PageResult pageResult = cheackItemService.findCheckItemByCondition(currentPage,pageSize,queryString);
        return pageResult;
    }
    //    查询所有
    @GetMapping ("/findAllCheckItem")
    public Result findAllCheckItem(){
        List<CheckItem> checkItemList = cheackItemService.findAllCheckItem();
        //表示需要返回一个Result对象，给前端做响应
        return  new Result(true, MessageConstant.QUERY_CHECKITEM_SUCCESS,checkItemList);
    }



    //    数据回显
    @GetMapping ("/findCheckItemById/{id}")
    public Result findCheckItemById(@PathVariable("id")Integer id){
        System.out.println("========="+id);
       CheckItem checkItem = cheackItemService.findCheckItemById(id);
        //表示需要返回一个Result对象，给前端做响应
        return  new Result(true, MessageConstant.QUERY_CHECKITEM_SUCCESS,checkItem);
    }


//    新增检查项数据
    @PostMapping("/addCheckItem")
    public Result addCheckItem(@RequestBody CheckItem checkItem){
        checkItem.setStatus(1);
        cheackItemService.addCheckItem(checkItem);
        //表示需要返回一个Result对象，给前端做响应
        return  new Result(true, MessageConstant.ADD_CHECKITEM_SUCCESS);
    }


    //    修改检查项数据
    @PostMapping("/updateCheckItem")
    public Result updateCheckItem(@RequestBody CheckItem checkItem){
//        System.out.println("========="+checkItem);
        cheackItemService.updateCheckItem(checkItem);
        //表示需要返回一个Result对象，给前端做响应
        return  new Result(true, MessageConstant.EDIT_CHECKITEM_SUCCESS);
    }

    //    删除检查项数据
    @PostMapping("/deleteCheckItem/{id}")
    public Result deleteCheckItem(@PathVariable("id")Integer id){
        System.out.println("========="+id);
        cheackItemService.deleteCheckItem(id);
        //表示需要返回一个Result对象，给前端做响应
        return  new Result(true, MessageConstant.DELETE_CHECKITEM_SUCCESS);
    }



}
